﻿#region File and License Information
/*
<File>
	<License>
		Copyright © 2009 - 2017, Daniel Vaughan. All rights reserved.
		This file is part of Calcium (http://calciumsdk.net), 
		which is released under the MIT License.
		See file /Documentation/License.txt for details.
	</License>
	<CreationDate>2013-01-01 11:35:56Z</CreationDate>
</File>
*/
#endregion

namespace Outcoder.Messaging
{
	public abstract class PayloadMessageBase<TPayload> /*where TPayload : class*/
	{
		public TPayload Payload { get; private set; }

		protected PayloadMessageBase(TPayload payload)
		{
			Payload = payload;
		}
	}

	public abstract class MessageBase<TPayload> : PayloadMessageBase<TPayload>
	{
		public object Sender { get; private set; }

		protected MessageBase(object sender, TPayload payload) : base(payload)
		{
			Sender = sender;
		}
	}
}
